import type { Registry } from "shadcn/schema";

import type { RegistryCategory } from "./registry-categories";

// Type helper to enforce RegistryCategory[] for categories field
type ParticleItem = Omit<Registry["items"][number], "categories"> & {
  categories?: RegistryCategory[];
};

// Helper function to ensure categories are valid RegistryCategory values
function categories<T extends RegistryCategory[]>(...categories: T): T {
  return categories;
}

export const particles: ParticleItem[] = [
  {
    categories: categories("accordion"),
    description: "Basic accordion",
    files: [{ path: "particles/p-accordion-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full sm:**:data-[slot=preview]:max-w-[80%]",
    },
    name: "p-accordion-1",
    registryDependencies: ["@coss/accordion"],
    type: "registry:block",
  },
  {
    categories: categories("accordion"),
    description: "Accordion with one panel open",
    files: [{ path: "particles/p-accordion-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full sm:**:data-[slot=preview]:max-w-[80%]",
    },
    name: "p-accordion-2",
    registryDependencies: ["@coss/accordion"],
    type: "registry:block",
  },
  {
    categories: categories("accordion"),
    description: "Accordion allowing multiple panels open",
    files: [{ path: "particles/p-accordion-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full sm:**:data-[slot=preview]:max-w-[80%]",
    },
    name: "p-accordion-3",
    registryDependencies: ["@coss/accordion"],
    type: "registry:block",
  },
  {
    categories: categories("accordion"),
    description: "Controlled accordion",
    files: [{ path: "particles/p-accordion-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full sm:**:data-[slot=preview]:max-w-[80%]",
    },
    name: "p-accordion-4",
    registryDependencies: ["@coss/accordion", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("alert"),
    description: "Basic alert",
    files: [{ path: "particles/p-alert-1.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-1",
    registryDependencies: ["@coss/alert"],
    type: "registry:block",
  },
  {
    categories: categories("alert"),
    dependencies: ["lucide-react"],
    description: "Alert with icon",
    files: [{ path: "particles/p-alert-2.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-2",
    registryDependencies: ["@coss/alert"],
    type: "registry:block",
  },
  {
    categories: categories("alert"),
    dependencies: ["lucide-react"],
    description: "Alert with icon and action buttons",
    files: [{ path: "particles/p-alert-3.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-3",
    registryDependencies: ["@coss/alert", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("alert", "info"),
    dependencies: ["lucide-react"],
    description: "Info alert",
    files: [{ path: "particles/p-alert-4.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-4",
    registryDependencies: ["@coss/alert"],
    type: "registry:block",
  },
  {
    categories: categories("alert", "success"),
    dependencies: ["lucide-react"],
    description: "Success alert",
    files: [{ path: "particles/p-alert-5.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-5",
    registryDependencies: ["@coss/alert"],
    type: "registry:block",
  },
  {
    categories: categories("alert", "warning"),
    dependencies: ["lucide-react"],
    description: "Warning alert",
    files: [{ path: "particles/p-alert-6.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-6",
    registryDependencies: ["@coss/alert"],
    type: "registry:block",
  },
  {
    categories: categories("alert", "error"),
    dependencies: ["lucide-react"],
    description: "Error alert",
    files: [{ path: "particles/p-alert-7.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-alert-7",
    registryDependencies: ["@coss/alert"],
    type: "registry:block",
  },
  {
    categories: categories("alert dialog", "dialog"),
    description: "Alert dialog",
    files: [{ path: "particles/p-alert-dialog-1.tsx", type: "registry:block" }],
    name: "p-alert-dialog-1",
    registryDependencies: ["@coss/alert-dialog", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Basic autocomplete",
    files: [{ path: "particles/p-autocomplete-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-1",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input", "disabled"),
    description: "Disabled autocomplete",
    files: [{ path: "particles/p-autocomplete-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-2",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Small autocomplete",
    files: [{ path: "particles/p-autocomplete-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-3",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Large autocomplete",
    files: [{ path: "particles/p-autocomplete-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-4",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete with label",
    files: [{ path: "particles/p-autocomplete-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-5",
    registryDependencies: ["@coss/autocomplete", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete autofilling the input with the highlighted item",
    files: [{ path: "particles/p-autocomplete-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-6",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete auto highlighting the first option",
    files: [{ path: "particles/p-autocomplete-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-7",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete with clear button",
    files: [{ path: "particles/p-autocomplete-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-8",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete with trigger and clear buttons",
    files: [{ path: "particles/p-autocomplete-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-9",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete with grouped items",
    files: [
      { path: "particles/p-autocomplete-10.tsx", type: "registry:block" },
    ],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-10",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input"),
    description: "Autocomplete with limited number of results",
    files: [
      { path: "particles/p-autocomplete-11.tsx", type: "registry:block" },
    ],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-11",
    registryDependencies: ["@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input", "async"),
    description: "Autocomplete with async items loading",
    files: [
      { path: "particles/p-autocomplete-12.tsx", type: "registry:block" },
    ],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-12",
    registryDependencies: ["@coss/autocomplete", "@coss/spinner"],
    type: "registry:block",
  },
  {
    categories: categories("autocomplete", "input", "form"),
    description: "Autocomplete form",
    files: [
      { path: "particles/p-autocomplete-13.tsx", type: "registry:block" },
    ],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-autocomplete-13",
    registryDependencies: ["@coss/autocomplete", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("avatar"),
    description: "Avatar with image and fallback",
    files: [{ path: "particles/p-avatar-1.tsx", type: "registry:block" }],
    name: "p-avatar-1",
    registryDependencies: ["@coss/avatar"],
    type: "registry:block",
  },
  {
    categories: categories("avatar"),
    description: "Fallback-only avatar",
    files: [{ path: "particles/p-avatar-2.tsx", type: "registry:block" }],
    name: "p-avatar-2",
    registryDependencies: ["@coss/avatar"],
    type: "registry:block",
  },
  {
    categories: categories("avatar"),
    description: "Avatars with different sizes",
    files: [{ path: "particles/p-avatar-3.tsx", type: "registry:block" }],
    name: "p-avatar-3",
    registryDependencies: ["@coss/avatar"],
    type: "registry:block",
  },
  {
    categories: categories("avatar"),
    description: "Avatars with different radii",
    files: [{ path: "particles/p-avatar-4.tsx", type: "registry:block" }],
    name: "p-avatar-4",
    registryDependencies: ["@coss/avatar"],
    type: "registry:block",
  },
  {
    categories: categories("avatar"),
    description: "Overlapping avatar group",
    files: [{ path: "particles/p-avatar-5.tsx", type: "registry:block" }],
    name: "p-avatar-5",
    registryDependencies: ["@coss/avatar"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Basic badge",
    files: [{ path: "particles/p-badge-1.tsx", type: "registry:block" }],
    name: "p-badge-1",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Outline badge",
    files: [{ path: "particles/p-badge-2.tsx", type: "registry:block" }],
    name: "p-badge-2",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Secondary badge",
    files: [{ path: "particles/p-badge-3.tsx", type: "registry:block" }],
    name: "p-badge-3",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge", "error"),
    description: "Destructive badge",
    files: [{ path: "particles/p-badge-4.tsx", type: "registry:block" }],
    name: "p-badge-4",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge", "info"),
    description: "Info badge",
    files: [{ path: "particles/p-badge-5.tsx", type: "registry:block" }],
    name: "p-badge-5",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge", "success"),
    description: "Success badge",
    files: [{ path: "particles/p-badge-6.tsx", type: "registry:block" }],
    name: "p-badge-6",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge", "warning"),
    description: "Warning badge",
    files: [{ path: "particles/p-badge-7.tsx", type: "registry:block" }],
    name: "p-badge-7",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge", "error"),
    description: "Error badge",
    files: [{ path: "particles/p-badge-8.tsx", type: "registry:block" }],
    name: "p-badge-8",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Small badge",
    files: [{ path: "particles/p-badge-9.tsx", type: "registry:block" }],
    name: "p-badge-9",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Large badge",
    files: [{ path: "particles/p-badge-10.tsx", type: "registry:block" }],
    name: "p-badge-10",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    dependencies: ["lucide-react"],
    description: "Badge with icon",
    files: [{ path: "particles/p-badge-11.tsx", type: "registry:block" }],
    name: "p-badge-11",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Badge with link",
    files: [{ path: "particles/p-badge-12.tsx", type: "registry:block" }],
    name: "p-badge-12",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("badge"),
    description: "Badge with count",
    files: [{ path: "particles/p-badge-13.tsx", type: "registry:block" }],
    name: "p-badge-13",
    registryDependencies: ["@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("breadcrumb", "menu"),
    description: "Breadcrumb with menu example",
    files: [{ path: "particles/p-breadcrumb-1.tsx", type: "registry:block" }],
    name: "p-breadcrumb-1",
    registryDependencies: ["@coss/breadcrumb", "@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("breadcrumb"),
    description: "Breadcrumb with custom separator",
    files: [{ path: "particles/p-breadcrumb-2.tsx", type: "registry:block" }],
    name: "p-breadcrumb-2",
    registryDependencies: ["@coss/breadcrumb"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Default button",
    files: [{ path: "particles/p-button-1.tsx", type: "registry:block" }],
    name: "p-button-1",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Outline button",
    files: [{ path: "particles/p-button-2.tsx", type: "registry:block" }],
    name: "p-button-2",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Secondary button",
    files: [{ path: "particles/p-button-3.tsx", type: "registry:block" }],
    name: "p-button-3",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Destructive button",
    files: [{ path: "particles/p-button-4.tsx", type: "registry:block" }],
    name: "p-button-4",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Destructive outline button",
    files: [{ path: "particles/p-button-5.tsx", type: "registry:block" }],
    name: "p-button-5",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Ghost button",
    files: [{ path: "particles/p-button-6.tsx", type: "registry:block" }],
    name: "p-button-6",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Link button",
    files: [{ path: "particles/p-button-7.tsx", type: "registry:block" }],
    name: "p-button-7",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Extra-small button",
    files: [{ path: "particles/p-button-8.tsx", type: "registry:block" }],
    name: "p-button-8",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Small button",
    files: [{ path: "particles/p-button-9.tsx", type: "registry:block" }],
    name: "p-button-9",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Large button",
    files: [{ path: "particles/p-button-10.tsx", type: "registry:block" }],
    name: "p-button-10",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Extra-large button",
    files: [{ path: "particles/p-button-11.tsx", type: "registry:block" }],
    name: "p-button-11",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button", "disabled"),
    description: "Disabled button",
    files: [{ path: "particles/p-button-12.tsx", type: "registry:block" }],
    name: "p-button-12",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Icon button",
    files: [{ path: "particles/p-button-13.tsx", type: "registry:block" }],
    name: "p-button-13",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Small icon button",
    files: [{ path: "particles/p-button-14.tsx", type: "registry:block" }],
    name: "p-button-14",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Large icon button",
    files: [{ path: "particles/p-button-15.tsx", type: "registry:block" }],
    name: "p-button-15",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Button with icon",
    files: [{ path: "particles/p-button-16.tsx", type: "registry:block" }],
    name: "p-button-16",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    description: "Link rendered as button",
    files: [{ path: "particles/p-button-17.tsx", type: "registry:block" }],
    name: "p-button-17",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button", "loading"),
    description: "Loading button",
    files: [{ path: "particles/p-button-18.tsx", type: "registry:block" }],
    name: "p-button-18",
    registryDependencies: ["@coss/button", "@coss/spinner"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Expandable show more/less toggle button",
    files: [{ path: "particles/p-button-19.tsx", type: "registry:block" }],
    name: "p-button-19",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Back link button with chevron",
    files: [{ path: "particles/p-button-20.tsx", type: "registry:block" }],
    name: "p-button-20",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Card-style button with heading and description",
    files: [
      {
        path: "particles/p-button-21.tsx",
        type: "registry:block",
      },
    ],
    name: "p-button-21",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Directional pad control buttons",
    files: [{ path: "particles/p-button-22.tsx", type: "registry:block" }],
    name: "p-button-22",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Outline like button with count",
    files: [
      {
        path: "particles/p-button-23.tsx",
        type: "registry:block",
      },
    ],
    name: "p-button-23",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["@remixicon/react"],
    description: "Social login icon buttons",
    files: [
      {
        path: "particles/p-button-24.tsx",
        type: "registry:block",
      },
    ],
    name: "p-button-24",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("button"),
    dependencies: ["lucide-react"],
    description: "Star button with count badge",
    files: [{ path: "particles/p-button-26.tsx", type: "registry:block" }],
    name: "p-button-26",
    registryDependencies: ["@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("card"),
    description: "Card with header, content, and footer",
    files: [{ path: "particles/p-card-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:flex **:data-[slot=preview]:justify-center",
    },
    name: "p-card-1",
    registryDependencies: [
      "@coss/card",
      "@coss/button",
      "@coss/form",
      "@coss/field",
      "@coss/input",
      "@coss/select",
    ],
    type: "registry:block",
  },
  {
    categories: categories("checkbox"),
    description: "Basic checkbox",
    files: [{ path: "particles/p-checkbox-1.tsx", type: "registry:block" }],
    name: "p-checkbox-1",
    registryDependencies: ["@coss/checkbox", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "disabled"),
    description: "Disabled checkbox",
    files: [{ path: "particles/p-checkbox-2.tsx", type: "registry:block" }],
    name: "p-checkbox-2",
    registryDependencies: ["@coss/checkbox", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("checkbox"),
    description: "Checkbox with description",
    files: [{ path: "particles/p-checkbox-3.tsx", type: "registry:block" }],
    name: "p-checkbox-3",
    registryDependencies: ["@coss/checkbox", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("checkbox"),
    description: "Card-style checkbox",
    files: [{ path: "particles/p-checkbox-4.tsx", type: "registry:block" }],
    name: "p-checkbox-4",
    registryDependencies: ["@coss/checkbox", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "form"),
    description: "Checkbox form",
    files: [{ path: "particles/p-checkbox-5.tsx", type: "registry:block" }],
    name: "p-checkbox-5",
    registryDependencies: [
      "@coss/checkbox",
      "@coss/form",
      "@coss/field",
      "@coss/button",
    ],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "checkbox group"),
    description: "Basic checkbox group",
    files: [
      { path: "particles/p-checkbox-group-1.tsx", type: "registry:block" },
    ],
    name: "p-checkbox-group-1",
    registryDependencies: [
      "@coss/checkbox-group",
      "@coss/checkbox",
      "@coss/label",
    ],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "checkbox group", "disabled"),
    description: "Checkbox group with disabled items",
    files: [
      { path: "particles/p-checkbox-group-2.tsx", type: "registry:block" },
    ],
    name: "p-checkbox-group-2",
    registryDependencies: [
      "@coss/checkbox-group",
      "@coss/checkbox",
      "@coss/label",
    ],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "checkbox group"),
    description: "Checkbox group with parent checkbox",
    files: [
      { path: "particles/p-checkbox-group-3.tsx", type: "registry:block" },
    ],
    name: "p-checkbox-group-3",
    registryDependencies: [
      "@coss/checkbox-group",
      "@coss/checkbox",
      "@coss/label",
    ],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "checkbox group"),
    description: "Nested checkbox group with parent",
    files: [
      { path: "particles/p-checkbox-group-4.tsx", type: "registry:block" },
    ],
    name: "p-checkbox-group-4",
    registryDependencies: [
      "@coss/checkbox-group",
      "@coss/checkbox",
      "@coss/label",
    ],
    type: "registry:block",
  },
  {
    categories: categories("checkbox", "checkbox group", "form"),
    description: "Checkbox group form",
    files: [
      { path: "particles/p-checkbox-group-5.tsx", type: "registry:block" },
    ],
    name: "p-checkbox-group-5",
    registryDependencies: [
      "@coss/checkbox-group",
      "@coss/checkbox",
      "@coss/form",
      "@coss/field",
      "@coss/fieldset",
      "@coss/button",
    ],
    type: "registry:block",
  },
  {
    categories: categories("collapsible"),
    dependencies: ["lucide-react"],
    description: "Basic collapsible",
    files: [{ path: "particles/p-collapsible-1.tsx", type: "registry:block" }],
    name: "p-collapsible-1",
    registryDependencies: ["@coss/collapsible"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Basic combobox",
    files: [{ path: "particles/p-combobox-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-1",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input", "disabled"),
    description: "Disabled combobox",
    files: [{ path: "particles/p-combobox-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-2",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Small combobox",
    files: [{ path: "particles/p-combobox-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-3",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Large combobox",
    files: [{ path: "particles/p-combobox-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-4",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Combobox with label",
    files: [{ path: "particles/p-combobox-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-5",
    registryDependencies: ["@coss/combobox", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Combobox auto highlighting the first option",
    files: [{ path: "particles/p-combobox-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-6",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Combobox with clear button",
    files: [{ path: "particles/p-combobox-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-7",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Combobox with grouped items",
    files: [{ path: "particles/p-combobox-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-8",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    description: "Combobox with multiple selection",
    files: [{ path: "particles/p-combobox-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-9",
    registryDependencies: ["@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input"),
    dependencies: ["lucide-react"],
    description: "Combobox with input inside popup",
    files: [{ path: "particles/p-combobox-10.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-10",
    registryDependencies: ["@coss/combobox", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input", "form"),
    description: "Combobox form",
    files: [{ path: "particles/p-combobox-11.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-11",
    registryDependencies: [
      "@coss/combobox",
      "@coss/form",
      "@coss/field",
      "@coss/button",
    ],
    type: "registry:block",
  },
  {
    categories: categories("combobox", "input", "form"),
    description: "Combobox multiple form",
    files: [{ path: "particles/p-combobox-12.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-combobox-12",
    registryDependencies: [
      "@coss/combobox",
      "@coss/form",
      "@coss/field",
      "@coss/button",
    ],
    type: "registry:block",
  },
  {
    categories: categories("dialog"),
    description: "Dialog with form",
    files: [{ path: "particles/p-dialog-1.tsx", type: "registry:block" }],
    name: "p-dialog-1",
    registryDependencies: [
      "@coss/dialog",
      "@coss/button",
      "@coss/form",
      "@coss/field",
      "@coss/input",
    ],
    type: "registry:block",
  },
  {
    categories: categories("dialog", "menu"),
    description: "Dialog opened from menu",
    files: [{ path: "particles/p-dialog-2.tsx", type: "registry:block" }],
    name: "p-dialog-2",
    registryDependencies: ["@coss/dialog", "@coss/menu", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("dialog"),
    description: "Nested dialogs",
    files: [{ path: "particles/p-dialog-3.tsx", type: "registry:block" }],
    name: "p-dialog-3",
    registryDependencies: [
      "@coss/dialog",
      "@coss/button",
      "@coss/field",
      "@coss/input",
    ],
    type: "registry:block",
  },
  {
    categories: categories("dialog", "alert dialog"),
    description: "Dialog with close confirmation",
    files: [{ path: "particles/p-dialog-4.tsx", type: "registry:block" }],
    name: "p-dialog-4",
    registryDependencies: [
      "@coss/dialog",
      "@coss/alert-dialog",
      "@coss/button",
      "@coss/form",
      "@coss/field",
      "@coss/textarea",
    ],
    type: "registry:block",
  },
  {
    categories: categories("empty state"),
    dependencies: ["lucide-react"],
    description: "Empty state with icon and actions",
    files: [{ path: "particles/p-empty-1.tsx", type: "registry:block" }],
    name: "p-empty-1",
    registryDependencies: ["@coss/empty", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("field", "label"),
    description: "Field with description",
    files: [{ path: "particles/p-field-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-1",
    registryDependencies: ["@coss/field", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("field", "label"),
    description: "Field with required indicator",
    files: [{ path: "particles/p-field-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-2",
    registryDependencies: ["@coss/field", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("field", "label", "disabled"),
    description: "Field in disabled state",
    files: [{ path: "particles/p-field-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-3",
    registryDependencies: ["@coss/field", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("field", "label", "error"),
    description: "Field showing validation error",
    files: [{ path: "particles/p-field-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-4",
    registryDependencies: ["@coss/field", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("field"),
    description: "Show field validity state",
    files: [{ path: "particles/p-field-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-5",
    registryDependencies: ["@coss/field", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input", "input group", "field", "button"),
    description: "Input group with field",
    files: [{ path: "particles/p-field-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-6",
    registryDependencies: ["@coss/field", "@coss/button", "@coss/input-group"],
    type: "registry:block",
  },
  {
    categories: categories("field", "input", "autocomplete", "label"),
    description: "Field with autocomplete",
    files: [{ path: "particles/p-field-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-7",
    registryDependencies: ["@coss/field", "@coss/autocomplete"],
    type: "registry:block",
  },
  {
    categories: categories("field", "input", "combobox", "label"),
    description: "Field with combobox",
    files: [{ path: "particles/p-field-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-8",
    registryDependencies: ["@coss/field", "@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("field", "input", "combobox", "label"),
    description: "Field with multiple selection combobox",
    files: [{ path: "particles/p-field-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-9",
    registryDependencies: ["@coss/field", "@coss/combobox"],
    type: "registry:block",
  },
  {
    categories: categories("field", "textarea", "label"),
    description: "Field with textarea",
    files: [{ path: "particles/p-field-10.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-10",
    registryDependencies: ["@coss/field", "@coss/textarea"],
    type: "registry:block",
  },
  {
    categories: categories("field", "select", "label"),
    description: "Field with select",
    files: [{ path: "particles/p-field-11.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-11",
    registryDependencies: ["@coss/field", "@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("field", "label", "checkbox"),
    description: "Field with checkbox",
    files: [{ path: "particles/p-field-12.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-12",
    registryDependencies: ["@coss/field", "@coss/checkbox"],
    type: "registry:block",
  },
  {
    categories: categories(
      "field",
      "checkbox group",
      "checkbox",
      "fieldset",
      "label",
    ),
    description: "Field with checkbox group",
    files: [{ path: "particles/p-field-13.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-13",
    registryDependencies: [
      "@coss/field",
      "@coss/checkbox-group",
      "@coss/checkbox",
      "@coss/fieldset",
    ],
    type: "registry:block",
  },
  {
    categories: categories("field", "radio group", "label", "fieldset"),
    description: "Field with radio group",
    files: [{ path: "particles/p-field-14.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-14",
    registryDependencies: [
      "@coss/field",
      "@coss/radio-group",
      "@coss/fieldset",
    ],
    type: "registry:block",
  },
  {
    categories: categories("field", "switch", "label"),
    description: "Field with toggle switch",
    files: [{ path: "particles/p-field-15.tsx", type: "registry:block" }],
    name: "p-field-15",
    registryDependencies: ["@coss/field", "@coss/switch"],
    type: "registry:block",
  },
  {
    categories: categories("field", "slider", "label"),
    description: "Field with slider",
    files: [{ path: "particles/p-field-16.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-16",
    registryDependencies: ["@coss/field", "@coss/slider"],
    type: "registry:block",
  },
  {
    categories: categories("field", "input", "label", "number field"),
    description: "Field with number field",
    files: [{ path: "particles/p-field-17.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-17",
    registryDependencies: ["@coss/field", "@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories(
      "field",
      "label",
      "form",
      "select",
      "checkbox",
      "button",
    ),
    description: "Complete form built with field",
    files: [{ path: "particles/p-field-18.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-field-18",
    registryDependencies: [
      "@coss/field",
      "@coss/select",
      "@coss/checkbox",
      "@coss/form",
      "@coss/input",
      "@coss/button",
    ],
    type: "registry:block",
  },
  {
    categories: categories("fieldset"),
    description: "Fieldset with multiple fields",
    files: [{ path: "particles/p-fieldset-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-fieldset-1",
    registryDependencies: ["@coss/fieldset", "@coss/field", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("form", "field", "button", "input"),
    description: "Input in a form",
    files: [{ path: "particles/p-form-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-form-1",
    registryDependencies: [
      "@coss/form",
      "@coss/field",
      "@coss/button",
      "@coss/input",
    ],
    type: "registry:block",
  },
  {
    categories: categories(
      "form",
      "field",
      "button",
      "validation",
      "label",
      "zod",
    ),
    dependencies: ["zod"],
    description: "Form with zod validation",
    files: [{ path: "particles/p-form-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-form-2",
    registryDependencies: [
      "@coss/form",
      "@coss/field",
      "@coss/button",
      "@coss/input",
    ],
    type: "registry:block",
  },
  {
    categories: categories("frame"),
    description: "Basic frame",
    files: [{ path: "particles/p-frame-1.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-frame-1",
    registryDependencies: ["@coss/frame"],
    type: "registry:block",
  },
  {
    categories: categories("frame", "collapsible"),
    dependencies: ["lucide-react"],
    description: "Frame with collapsible content and delete button",
    files: [{ path: "particles/p-frame-2.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-frame-2",
    registryDependencies: ["@coss/frame", "@coss/collapsible", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("kbd"),
    description: "Keyboard shortcuts display",
    files: [{ path: "particles/p-kbd-1.tsx", type: "registry:block" }],
    name: "p-kbd-1",
    registryDependencies: ["@coss/kbd"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Basic group",
    files: [{ path: "particles/p-group-1.tsx", type: "registry:block" }],
    name: "p-group-1",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group", "input"),
    description: "Group with input",
    files: [{ path: "particles/p-group-2.tsx", type: "registry:block" }],
    name: "p-group-2",
    registryDependencies: ["@coss/group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Small group",
    files: [{ path: "particles/p-group-3.tsx", type: "registry:block" }],
    name: "p-group-3",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Large group",
    files: [{ path: "particles/p-group-4.tsx", type: "registry:block" }],
    name: "p-group-4",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group", "button"),
    description: "Group with disabled button",
    files: [{ path: "particles/p-group-5.tsx", type: "registry:block" }],
    name: "p-group-5",
    registryDependencies: ["@coss/group", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("group", "button"),
    description: "Group with default button",
    files: [{ path: "particles/p-group-6.tsx", type: "registry:block" }],
    name: "p-group-6",
    registryDependencies: ["@coss/group", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Group with start text",
    files: [{ path: "particles/p-group-7.tsx", type: "registry:block" }],
    name: "p-group-7",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Group with end text",
    files: [{ path: "particles/p-group-8.tsx", type: "registry:block" }],
    name: "p-group-8",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Vertical group",
    files: [{ path: "particles/p-group-9.tsx", type: "registry:block" }],
    name: "p-group-9",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Nested groups",
    files: [{ path: "particles/p-group-10.tsx", type: "registry:block" }],
    name: "p-group-10",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group"),
    description: "Group with popup",
    files: [{ path: "particles/p-group-11.tsx", type: "registry:block" }],
    name: "p-group-11",
    registryDependencies: ["@coss/group"],
    type: "registry:block",
  },
  {
    categories: categories("group", "input group"),
    description: "Group with input group",
    files: [{ path: "particles/p-group-12.tsx", type: "registry:block" }],
    name: "p-group-12",
    registryDependencies: ["@coss/group", "@coss/input-group"],
    type: "registry:block",
  },
  {
    categories: categories("group", "menu"),
    description: "Group with menu",
    files: [{ path: "particles/p-group-13.tsx", type: "registry:block" }],
    name: "p-group-13",
    registryDependencies: ["@coss/group", "@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("group", "select"),
    description: "Group with select",
    files: [{ path: "particles/p-group-14.tsx", type: "registry:block" }],
    name: "p-group-14",
    registryDependencies: ["@coss/group", "@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("group", "search"),
    description: "Group with search",
    files: [{ path: "particles/p-group-15.tsx", type: "registry:block" }],
    name: "p-group-15",
    registryDependencies: ["@coss/group", "@coss/search"],
    type: "registry:block",
  },
  {
    categories: categories("input"),
    description: "Basic input",
    files: [{ path: "particles/p-input-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-1",
    registryDependencies: ["@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input"),
    description: "Small input",
    files: [{ path: "particles/p-input-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-2",
    registryDependencies: ["@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input"),
    description: "Large input",
    files: [{ path: "particles/p-input-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-3",
    registryDependencies: ["@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input"),
    description: "Disabled input",
    files: [{ path: "particles/p-input-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-4",
    registryDependencies: ["@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input"),
    description: "File input",
    files: [{ path: "particles/p-input-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-5",
    registryDependencies: ["@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input", "label"),
    description: "Input with label",
    files: [{ path: "particles/p-input-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-6",
    registryDependencies: ["@coss/input", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("input", "button"),
    description: "Input with button",
    files: [{ path: "particles/p-input-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-7",
    registryDependencies: ["@coss/input", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("input", "input group", "button", "popover"),
    description: "Input with start text and end tooltip",
    files: [{ path: "particles/p-input-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-8",
    registryDependencies: [
      "@coss/button",
      "@coss/input-group",
      "@coss/popover",
    ],
    type: "registry:block",
  },
  {
    categories: categories("input", "input group", "button", "tooltip"),
    description: "Password input with toggle visibility",
    files: [{ path: "particles/p-input-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-9",
    registryDependencies: [
      "@coss/button",
      "@coss/input-group",
      "@coss/tooltip",
    ],
    type: "registry:block",
  },
  {
    categories: categories("input", "input group", "button", "popover"),
    description: "Input group mimicking a URL bar",
    files: [{ path: "particles/p-input-10.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-10",
    registryDependencies: [
      "@coss/button",
      "@coss/input-group",
      "@coss/popover",
    ],
    type: "registry:block",
  },
  {
    categories: categories("input", "input group", "kbd", "search"),
    description: "Input group with keyboard shortcut",
    files: [{ path: "particles/p-input-11.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-11",
    registryDependencies: ["@coss/input-group", "@coss/kbd"],
    type: "registry:block",
  },
  {
    categories: categories("input", "input group", "loading", "spinner"),
    description: "Input group with start loading spinner",
    files: [{ path: "particles/p-input-12.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-12",
    registryDependencies: ["@coss/input-group", "@coss/spinner"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Basic input group",
    files: [{ path: "particles/p-input-group-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-1",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    dependencies: ["lucide-react"],
    description: "Input group with end icon",
    files: [{ path: "particles/p-input-group-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-2",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Input group with start text",
    files: [{ path: "particles/p-input-group-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-3",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Input group with end text",
    files: [{ path: "particles/p-input-group-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-4",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Input group with start and end text",
    files: [{ path: "particles/p-input-group-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-5",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "number field"),
    description: "Input group with number field",
    files: [{ path: "particles/p-input-group-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-6",
    registryDependencies: ["@coss/input-group", "@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "tooltip"),
    dependencies: ["lucide-react"],
    description: "Input group with end tooltip",
    files: [{ path: "particles/p-input-group-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-7",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/tooltip"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "button"),
    dependencies: ["lucide-react"],
    description: "Input group with icon button",
    files: [{ path: "particles/p-input-group-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-8",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "button"),
    description: "Input group with button",
    files: [{ path: "particles/p-input-group-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-9",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "badge"),
    description: "Input group with badge",
    files: [{ path: "particles/p-input-group-10.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-10",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/badge"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "kbd"),
    description: "Input group with keyboard shortcut",
    files: [{ path: "particles/p-input-group-11.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-11",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/kbd"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "label"),
    description: "Input group with inner label",
    files: [{ path: "particles/p-input-group-12.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-12",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Small input group",
    files: [{ path: "particles/p-input-group-13.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-13",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Large input group",
    files: [{ path: "particles/p-input-group-14.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-14",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group"),
    description: "Disabled input group",
    files: [{ path: "particles/p-input-group-15.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-15",
    registryDependencies: ["@coss/input-group", "@coss/input"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "spinner"),
    description: "Input group with loading spinner",
    files: [{ path: "particles/p-input-group-16.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-input-group-16",
    registryDependencies: ["@coss/input-group", "@coss/input", "@coss/spinner"],
    type: "registry:block",
  },
  {
    categories: categories("input group", "textarea"),
    description: "Input group with textarea",
    files: [{ path: "particles/p-input-group-17.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-80",
    },
    name: "p-input-group-17",
    registryDependencies: ["@coss/input-group", "@coss/textarea"],
    type: "registry:block",
  },
  {
    categories: categories("meter"),
    description: "Basic meter",
    files: [{ path: "particles/p-meter-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-meter-1",
    registryDependencies: ["@coss/meter"],
    type: "registry:block",
  },
  {
    categories: categories("meter"),
    description: "Simple meter",
    files: [{ path: "particles/p-meter-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-meter-2",
    registryDependencies: ["@coss/meter"],
    type: "registry:block",
  },
  {
    categories: categories("meter"),
    description: "Meter with formatted value",
    files: [{ path: "particles/p-meter-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-meter-3",
    registryDependencies: ["@coss/meter"],
    type: "registry:block",
  },
  {
    categories: categories("meter"),
    description: "Meter with range",
    files: [{ path: "particles/p-meter-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-meter-4",
    registryDependencies: ["@coss/meter"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Basic menu",
    files: [{ path: "particles/p-menu-1.tsx", type: "registry:block" }],
    name: "p-menu-1",
    registryDependencies: ["@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Menu with hover",
    files: [{ path: "particles/p-menu-2.tsx", type: "registry:block" }],
    name: "p-menu-2",
    registryDependencies: ["@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Menu with checkbox",
    files: [{ path: "particles/p-menu-3.tsx", type: "registry:block" }],
    name: "p-menu-3",
    registryDependencies: ["@coss/menu", "@coss/checkbox"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Menu with radio group",
    files: [{ path: "particles/p-menu-4.tsx", type: "registry:block" }],
    name: "p-menu-4",
    registryDependencies: ["@coss/menu", "@coss/radio-group"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Menu with link",
    files: [{ path: "particles/p-menu-5.tsx", type: "registry:block" }],
    name: "p-menu-5",
    registryDependencies: ["@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Menu with group labels",
    files: [{ path: "particles/p-menu-6.tsx", type: "registry:block" }],
    name: "p-menu-6",
    registryDependencies: ["@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Nested menu",
    files: [{ path: "particles/p-menu-7.tsx", type: "registry:block" }],
    name: "p-menu-7",
    registryDependencies: ["@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("menu"),
    description: "Menu close on click",
    files: [{ path: "particles/p-menu-8.tsx", type: "registry:block" }],
    name: "p-menu-8",
    registryDependencies: ["@coss/menu"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Basic number field",
    files: [{ path: "particles/p-number-field-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-1",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Small number field",
    files: [{ path: "particles/p-number-field-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-2",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Large number field",
    files: [{ path: "particles/p-number-field-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-3",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Disabled number field",
    files: [{ path: "particles/p-number-field-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-4",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Number field with label",
    files: [{ path: "particles/p-number-field-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-5",
    registryDependencies: ["@coss/number-field", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Number field with scrub",
    files: [{ path: "particles/p-number-field-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-6",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Number field with range",
    files: [{ path: "particles/p-number-field-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-7",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Number field with formatted value",
    files: [{ path: "particles/p-number-field-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-8",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Number field with step",
    files: [{ path: "particles/p-number-field-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-9",
    registryDependencies: ["@coss/number-field"],
    type: "registry:block",
  },
  {
    categories: categories("number field"),
    description: "Number field in form",
    files: [
      { path: "particles/p-number-field-10.tsx", type: "registry:block" },
    ],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-number-field-10",
    registryDependencies: ["@coss/number-field", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("pagination"),
    description: "Pagination example",
    files: [{ path: "particles/p-pagination-1.tsx", type: "registry:block" }],
    name: "p-pagination-1",
    registryDependencies: ["@coss/pagination"],
    type: "registry:block",
  },
  {
    categories: categories("pagination"),
    description: "Pagination with previous and next buttons only",
    files: [{ path: "particles/p-pagination-2.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-pagination-2",
    registryDependencies: ["@coss/pagination"],
    type: "registry:block",
  },
  {
    categories: categories("pagination", "select"),
    description: "Pagination with select, and previous and next buttons",
    files: [{ path: "particles/p-pagination-3.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-pagination-3",
    registryDependencies: ["@coss/pagination", "@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("popover", "button", "textarea", "form", "field"),
    description: "Popover with a form",
    files: [{ path: "particles/p-popover-1.tsx", type: "registry:block" }],
    name: "p-popover-1",
    registryDependencies: [
      "@coss/popover",
      "@coss/button",
      "@coss/textarea",
      "@coss/form",
      "@coss/field",
    ],
    type: "registry:block",
  },
  {
    categories: categories("popover", "button"),
    dependencies: ["lucide-react"],
    description: "Popover with close button",
    files: [{ path: "particles/p-popover-2.tsx", type: "registry:block" }],
    name: "p-popover-2",
    registryDependencies: ["@coss/popover", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("preview card"),
    dependencies: ["lucide-react"],
    description: "Preview card with popup",
    files: [{ path: "particles/p-preview-card-1.tsx", type: "registry:block" }],
    name: "p-preview-card-1",
    registryDependencies: ["@coss/preview-card", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("progress"),
    description: "Basic progress bar",
    files: [{ path: "particles/p-progress-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-progress-1",
    registryDependencies: ["@coss/progress"],
    type: "registry:block",
  },
  {
    categories: categories("progress"),
    description: "Progress with label and value",
    files: [{ path: "particles/p-progress-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-progress-2",
    registryDependencies: ["@coss/progress"],
    type: "registry:block",
  },
  {
    categories: categories("progress"),
    description: "Progress with formatted value",
    files: [{ path: "particles/p-progress-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-progress-3",
    registryDependencies: ["@coss/progress"],
    type: "registry:block",
  },
  {
    categories: categories("radio group"),
    description: "Basic radio group",
    files: [{ path: "particles/p-radio-group-1.tsx", type: "registry:block" }],
    name: "p-radio-group-1",
    registryDependencies: ["@coss/radio-group"],
    type: "registry:block",
  },
  {
    categories: categories("radio group"),
    description: "Disabled radio group",
    files: [{ path: "particles/p-radio-group-2.tsx", type: "registry:block" }],
    name: "p-radio-group-2",
    registryDependencies: ["@coss/radio-group"],
    type: "registry:block",
  },
  {
    categories: categories("radio group"),
    description: "Radio group with description",
    files: [{ path: "particles/p-radio-group-3.tsx", type: "registry:block" }],
    name: "p-radio-group-3",
    registryDependencies: ["@coss/radio-group"],
    type: "registry:block",
  },
  {
    categories: categories("radio group"),
    description: "Radio group card",
    files: [{ path: "particles/p-radio-group-4.tsx", type: "registry:block" }],
    name: "p-radio-group-4",
    registryDependencies: ["@coss/radio-group", "@coss/card"],
    type: "registry:block",
  },
  {
    categories: categories("radio group"),
    description: "Radio group in form",
    files: [{ path: "particles/p-radio-group-5.tsx", type: "registry:block" }],
    name: "p-radio-group-5",
    registryDependencies: ["@coss/radio-group", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("scroll area"),
    description: "Basic scroll area",
    files: [{ path: "particles/p-scroll-area-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-scroll-area-1",
    registryDependencies: ["@coss/scroll-area"],
    type: "registry:block",
  },
  {
    categories: categories("scroll area"),
    description: "Horizontal scroll area",
    files: [{ path: "particles/p-scroll-area-2.tsx", type: "registry:block" }],
    name: "p-scroll-area-2",
    registryDependencies: ["@coss/scroll-area"],
    type: "registry:block",
  },
  {
    categories: categories("scroll area"),
    description: "Scroll area with both directions",
    files: [{ path: "particles/p-scroll-area-3.tsx", type: "registry:block" }],
    name: "p-scroll-area-3",
    registryDependencies: ["@coss/scroll-area"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Basic select",
    files: [{ path: "particles/p-select-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-1",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Small select",
    files: [{ path: "particles/p-select-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-2",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Large select",
    files: [{ path: "particles/p-select-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-3",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Disabled select",
    files: [{ path: "particles/p-select-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-4",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Select without item alignment",
    files: [{ path: "particles/p-select-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-5",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Select with groups",
    files: [{ path: "particles/p-select-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-6",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Multiple select",
    files: [{ path: "particles/p-select-7.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-7",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    dependencies: ["lucide-react"],
    description: "Select with icon",
    files: [{ path: "particles/p-select-8.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-8",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    dependencies: ["lucide-react"],
    description: "Select options with icon",
    files: [{ path: "particles/p-select-9.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-9",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Select with object values",
    files: [{ path: "particles/p-select-10.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-10",
    registryDependencies: ["@coss/select"],
    type: "registry:block",
  },
  {
    categories: categories("select"),
    description: "Select in form",
    files: [{ path: "particles/p-select-11.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-select-11",
    registryDependencies: ["@coss/select", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("separator"),
    description: "Separator with horizontal and vertical orientations",
    files: [{ path: "particles/p-separator-1.tsx", type: "registry:block" }],
    name: "p-separator-1",
    registryDependencies: ["@coss/separator"],
    type: "registry:block",
  },
  {
    categories: categories("sheet"),
    description: "Basic sheet",
    files: [{ path: "particles/p-sheet-1.tsx", type: "registry:block" }],
    name: "p-sheet-1",
    registryDependencies: [
      "@coss/sheet",
      "@coss/button",
      "@coss/form",
      "@coss/field",
      "@coss/input",
    ],
    type: "registry:block",
  },
  {
    categories: categories("sheet"),
    description: "Sheet inset",
    files: [{ path: "particles/p-sheet-2.tsx", type: "registry:block" }],
    name: "p-sheet-2",
    registryDependencies: ["@coss/sheet", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("sheet"),
    description: "Sheet position",
    files: [{ path: "particles/p-sheet-3.tsx", type: "registry:block" }],
    name: "p-sheet-3",
    registryDependencies: ["@coss/sheet", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("skeleton"),
    description: "Basic skeleton",
    files: [{ path: "particles/p-skeleton-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:flex **:data-[slot=preview]:justify-center",
    },
    name: "p-skeleton-1",
    registryDependencies: ["@coss/skeleton"],
    type: "registry:block",
  },
  {
    categories: categories("skeleton"),
    description: "Skeleton only",
    files: [{ path: "particles/p-skeleton-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:flex **:data-[slot=preview]:justify-center",
    },
    name: "p-skeleton-2",
    registryDependencies: ["@coss/skeleton"],
    type: "registry:block",
  },
  {
    categories: categories("slider"),
    description: "Basic slider",
    files: [{ path: "particles/p-slider-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-slider-1",
    registryDependencies: ["@coss/slider"],
    type: "registry:block",
  },
  {
    categories: categories("slider"),
    description: "Slider with label and value",
    files: [{ path: "particles/p-slider-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-slider-2",
    registryDependencies: ["@coss/slider"],
    type: "registry:block",
  },
  {
    categories: categories("slider"),
    description: "Range slider",
    files: [{ path: "particles/p-slider-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-slider-3",
    registryDependencies: ["@coss/slider"],
    type: "registry:block",
  },
  {
    categories: categories("slider"),
    description: "Vertical slider",
    files: [{ path: "particles/p-slider-4.tsx", type: "registry:block" }],
    name: "p-slider-4",
    registryDependencies: ["@coss/slider"],
    type: "registry:block",
  },
  {
    categories: categories("slider"),
    description: "Slider in form",
    files: [{ path: "particles/p-slider-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-slider-5",
    registryDependencies: ["@coss/slider", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("spinner"),
    description: "Basic spinner",
    files: [{ path: "particles/p-spinner-1.tsx", type: "registry:block" }],
    name: "p-spinner-1",
    registryDependencies: ["@coss/spinner"],
    type: "registry:block",
  },
  {
    categories: categories("switch"),
    description: "Basic switch",
    files: [{ path: "particles/p-switch-1.tsx", type: "registry:block" }],
    name: "p-switch-1",
    registryDependencies: ["@coss/switch"],
    type: "registry:block",
  },
  {
    categories: categories("switch"),
    description: "Disabled switch",
    files: [{ path: "particles/p-switch-2.tsx", type: "registry:block" }],
    name: "p-switch-2",
    registryDependencies: ["@coss/switch"],
    type: "registry:block",
  },
  {
    categories: categories("switch"),
    description: "Switch with description",
    files: [{ path: "particles/p-switch-3.tsx", type: "registry:block" }],
    name: "p-switch-3",
    registryDependencies: ["@coss/switch"],
    type: "registry:block",
  },
  {
    categories: categories("switch"),
    description: "Switch card",
    files: [{ path: "particles/p-switch-4.tsx", type: "registry:block" }],
    name: "p-switch-4",
    registryDependencies: ["@coss/switch", "@coss/card"],
    type: "registry:block",
  },
  {
    categories: categories("switch"),
    description: "Switch in form",
    files: [{ path: "particles/p-switch-5.tsx", type: "registry:block" }],
    name: "p-switch-5",
    registryDependencies: ["@coss/switch", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("table"),
    description: "Basic table",
    files: [{ path: "particles/p-table-1.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-table-1",
    registryDependencies: ["@coss/table"],
    type: "registry:block",
  },
  {
    categories: categories("table"),
    description: "Framed table",
    files: [{ path: "particles/p-table-2.tsx", type: "registry:block" }],
    meta: {
      className: "**:data-[slot=preview]:w-full",
    },
    name: "p-table-2",
    registryDependencies: ["@coss/table"],
    type: "registry:block",
  },
  {
    categories: categories("tabs"),
    description: "Basic tabs",
    files: [{ path: "particles/p-tabs-1.tsx", type: "registry:block" }],
    name: "p-tabs-1",
    registryDependencies: ["@coss/tabs"],
    type: "registry:block",
  },
  {
    categories: categories("tabs"),
    description: "Tabs with underline",
    files: [{ path: "particles/p-tabs-2.tsx", type: "registry:block" }],
    name: "p-tabs-2",
    registryDependencies: ["@coss/tabs"],
    type: "registry:block",
  },
  {
    categories: categories("tabs"),
    description: "Vertical tabs",
    files: [{ path: "particles/p-tabs-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full sm:**:data-[slot=preview]:max-w-80",
    },
    name: "p-tabs-3",
    registryDependencies: ["@coss/tabs"],
    type: "registry:block",
  },
  {
    categories: categories("tabs"),
    description: "Vertical tabs with underline",
    files: [{ path: "particles/p-tabs-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full sm:**:data-[slot=preview]:max-w-80",
    },
    name: "p-tabs-4",
    registryDependencies: ["@coss/tabs"],
    type: "registry:block",
  },
  {
    categories: categories("textarea"),
    description: "Basic textarea",
    files: [{ path: "particles/p-textarea-1.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-textarea-1",
    registryDependencies: ["@coss/textarea"],
    type: "registry:block",
  },
  {
    categories: categories("textarea"),
    description: "Small textarea",
    files: [{ path: "particles/p-textarea-2.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-textarea-2",
    registryDependencies: ["@coss/textarea"],
    type: "registry:block",
  },
  {
    categories: categories("textarea"),
    description: "Large textarea",
    files: [{ path: "particles/p-textarea-3.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-textarea-3",
    registryDependencies: ["@coss/textarea"],
    type: "registry:block",
  },
  {
    categories: categories("textarea"),
    description: "Disabled textarea",
    files: [{ path: "particles/p-textarea-4.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-textarea-4",
    registryDependencies: ["@coss/textarea"],
    type: "registry:block",
  },
  {
    categories: categories("textarea"),
    description: "Textarea with label",
    files: [{ path: "particles/p-textarea-5.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-textarea-5",
    registryDependencies: ["@coss/textarea", "@coss/label"],
    type: "registry:block",
  },
  {
    categories: categories("textarea"),
    description: "Textarea in form",
    files: [{ path: "particles/p-textarea-6.tsx", type: "registry:block" }],
    meta: {
      className:
        "**:data-[slot=preview]:w-full **:data-[slot=preview]:max-w-64",
    },
    name: "p-textarea-6",
    registryDependencies: ["@coss/textarea", "@coss/form", "@coss/field"],
    type: "registry:block",
  },
  {
    categories: categories("toast"),
    description: "Basic toast",
    files: [{ path: "particles/p-toast-1.tsx", type: "registry:block" }],
    name: "p-toast-1",
    registryDependencies: ["@coss/toast"],
    type: "registry:block",
  },
  {
    categories: categories("toast"),
    description: "Toast with status",
    files: [{ path: "particles/p-toast-2.tsx", type: "registry:block" }],
    name: "p-toast-2",
    registryDependencies: ["@coss/toast"],
    type: "registry:block",
  },
  {
    categories: categories("toast"),
    description: "Loading toast",
    files: [{ path: "particles/p-toast-3.tsx", type: "registry:block" }],
    name: "p-toast-3",
    registryDependencies: ["@coss/toast"],
    type: "registry:block",
  },
  {
    categories: categories("toast"),
    description: "Toast with action",
    files: [{ path: "particles/p-toast-4.tsx", type: "registry:block" }],
    name: "p-toast-4",
    registryDependencies: ["@coss/toast", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("toast"),
    description: "Promise toast",
    files: [{ path: "particles/p-toast-5.tsx", type: "registry:block" }],
    name: "p-toast-5",
    registryDependencies: ["@coss/toast"],
    type: "registry:block",
  },
  {
    categories: categories("toast"),
    description: "Toast with varying heights",
    files: [{ path: "particles/p-toast-6.tsx", type: "registry:block" }],
    name: "p-toast-6",
    registryDependencies: ["@coss/toast"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Basic toggle group",
    files: [{ path: "particles/p-toggle-group-1.tsx", type: "registry:block" }],
    name: "p-toggle-group-1",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Small toggle group",
    files: [{ path: "particles/p-toggle-group-2.tsx", type: "registry:block" }],
    name: "p-toggle-group-2",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Large toggle group",
    files: [{ path: "particles/p-toggle-group-3.tsx", type: "registry:block" }],
    name: "p-toggle-group-3",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Toggle group with outline",
    files: [{ path: "particles/p-toggle-group-4.tsx", type: "registry:block" }],
    name: "p-toggle-group-4",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Vertical toggle group with outline",
    files: [{ path: "particles/p-toggle-group-5.tsx", type: "registry:block" }],
    name: "p-toggle-group-5",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Disabled toggle group",
    files: [{ path: "particles/p-toggle-group-6.tsx", type: "registry:block" }],
    name: "p-toggle-group-6",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Toggle group with disabled item",
    files: [{ path: "particles/p-toggle-group-7.tsx", type: "registry:block" }],
    name: "p-toggle-group-7",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Multiple selection toggle group",
    files: [{ path: "particles/p-toggle-group-8.tsx", type: "registry:block" }],
    name: "p-toggle-group-8",
    registryDependencies: ["@coss/toggle-group"],
    type: "registry:block",
  },
  {
    categories: categories("toggle", "toggle group"),
    description: "Toggle group with tooltips",
    files: [{ path: "particles/p-toggle-group-9.tsx", type: "registry:block" }],
    name: "p-toggle-group-9",
    registryDependencies: ["@coss/toggle-group", "@coss/tooltip"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    description: "Basic toggle",
    files: [{ path: "particles/p-toggle-1.tsx", type: "registry:block" }],
    name: "p-toggle-1",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    description: "Toggle with outline",
    files: [{ path: "particles/p-toggle-2.tsx", type: "registry:block" }],
    name: "p-toggle-2",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    dependencies: ["lucide-react"],
    description: "Toggle with icon",
    files: [{ path: "particles/p-toggle-3.tsx", type: "registry:block" }],
    name: "p-toggle-3",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    description: "Small toggle",
    files: [{ path: "particles/p-toggle-4.tsx", type: "registry:block" }],
    name: "p-toggle-4",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    description: "Large toggle",
    files: [{ path: "particles/p-toggle-5.tsx", type: "registry:block" }],
    name: "p-toggle-5",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    description: "Disabled toggle",
    files: [{ path: "particles/p-toggle-6.tsx", type: "registry:block" }],
    name: "p-toggle-6",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toggle"),
    dependencies: ["lucide-react"],
    description: "Toggle icon group",
    files: [{ path: "particles/p-toggle-7.tsx", type: "registry:block" }],
    name: "p-toggle-7",
    registryDependencies: ["@coss/toggle"],
    type: "registry:block",
  },
  {
    categories: categories("toolbar"),
    dependencies: ["lucide-react"],
    description: "Toolbar with toggles, buttons, and select",
    files: [{ path: "particles/p-toolbar-1.tsx", type: "registry:block" }],
    name: "p-toolbar-1",
    registryDependencies: [
      "@coss/toolbar",
      "@coss/toggle-group",
      "@coss/button",
      "@coss/select",
      "@coss/tooltip",
    ],
    type: "registry:block",
  },
  {
    categories: categories("tooltip"),
    description: "Basic tooltip",
    files: [{ path: "particles/p-tooltip-1.tsx", type: "registry:block" }],
    name: "p-tooltip-1",
    registryDependencies: ["@coss/tooltip", "@coss/button"],
    type: "registry:block",
  },
  {
    categories: categories("tooltip"),
    description: "Grouped tooltips",
    files: [{ path: "particles/p-tooltip-2.tsx", type: "registry:block" }],
    name: "p-tooltip-2",
    registryDependencies: ["@coss/tooltip", "@coss/button"],
    type: "registry:block",
  },
];
